package com.mec.fileTransfer.core;

/**
 * 接收文件集中的单个文件资源
 * 其中描述了：
 * 该资源描述的文件名、相对路径绝对路径、资源长度
 * 以及该资源中未接收部分的信息块列表
 * @author Lconf
 */
//为什么成员中没有出现偏移量？
//答曰：这个类的作用是，在服务器端，我们先一个一个构建所需要接受的文件。而每个文件就是一个RFM对象。
//所以这里的RFM类中不需要涉及偏移量。然后将这个RFM对象们构建成一个RFS集合，交给接收文件
//服务器端,至少要让接收服务器知道我要接收哪些文件。
public class ReceiveFileModel {
	private String absolutePath;
	private String filePath;
	private int length;
	private UnreceivedBlockInfo ubi;

	/*POJO
	通过文件总长度、文件绝对路径、相对路径生成文件资源描述对象
	并且生成其UnreceivedBlockInfo对象，初始化其完整性
	 */
	protected ReceiveFileModel(String absolutePath, int length, String filePath) {
		this.absolutePath = absolutePath;
		this.filePath = filePath;
		this.length = length;
		ubi = new UnreceivedBlockInfo(length);
	}
	
	protected boolean equals(String fileName) {
		return (filePath + absolutePath).equals(fileName);
	}

	protected String getAbsolutePath() {
		return absolutePath;
	}

	protected void setAbsolutePath(String absolutePath) {
		this.absolutePath = absolutePath;
	}

	protected String getFilePath() {
		return filePath;
	}

	protected void setFilePath(String filePath) {
		this.filePath = filePath;
	}

	protected int getLength() {
		return length;
	}

	protected void setLength(int length) {
		this.length = length;
	}

	protected UnreceivedBlockInfo getUbi() {
		return ubi;
	}

	protected void setUbi(UnreceivedBlockInfo ubi) {
		this.ubi = ubi;
	}
	
	
	
	
	
	
	
}
